const path=require('path')
const htmlPlugin=require('html-webpack-plugin')
module.exports={
    entry:{
        entry:'./src/index.js' //入口文件
    },
    output:{
        path:path.resolve(__dirname,'dist'),//dist的绝对路径,node的语法
        filename:'./js/[name].js',   //打包后的js文件名
    },
    resolve: {
        extensions: [ '.js', '.vue'],  //同时打包.vue文件
        alias:{
            'vue$':'vue/dist/vue.js'    //启用别名,这样可以直接引用 'vue'
        }
    },
    module:{
        rules:[
            //配置vue-loader,以,vue结尾的文件都使用vue-loader打包
            {
                test:/\.vue$/,
                use:{
                    loader:'vue-loader'
                }
            },
            //配置babel,所有.js文件使用babel转换
            {
                test:/\.js$/,
                use:{
                    loader:'babel-loader',
                    options:{
                        presets:[
                            "es2015"  //解析es6
                        ]
                    }
                },
                //排除插件安装目录
                exclude: /node_modules|vue\/dist|vue-router\/|vue-loader\/|vue-hot-reload-api\//
            }
        ]
    },
    //html打包插件
    plugins:[
        new htmlPlugin({
            hash:true,
            template:'./src/index.html'
        })
    ],
    devServer:{
        //监听服务的路径,3.6以上版本自动热更新
        contentBase:path.resolve(__dirname,'dist'),
        host:'localhost',
        compress:true,
        port:8082
    }
}